package org.example.Thread;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:Lenovo
 * Date:2022-03-22
 * Time:14:30
 */
public class Demo11 {
    public static void main(String[] args) {
        java.lang.Thread t = new java.lang.Thread(() ->{
            for (int i = 0; i < 5; i++) {
                System.out.println("hello thread");
                try {
                    java.lang.Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        t.start();

        //在主线程中就可以使用一个等待操作，等待t线程执行结束
        try {
            t.join();//首先，调用这个方法的线程是main线程，针对t这个线程对象调用的，此时就是让main等待t~~~~
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        //调用join之后，main线程就会进入阻塞状态（暂时无法再cpu上执行）
        //等t线程执行完之后，才会执行下面的main线程中的代码
        System.out.println("t执行完了，main才执行");
    }
}
